Cracking the Coding Interview: 189 Programming Questions and Solutions

Cracking the Coding Interview: 189 Programming Questions and Solutions

  • Downloads:8575
  • Type:Epub+TxT+PDF+Mobi
  • Create Date:2021-03-05 03:12:43
  • Update Date:2025-09-07
  • Status:finish
  • Author:Gayle Laakmann McDowell
  • ISBN:0984782850
  • Environment:PC/Android/iPhone/iPad/Kindle

Summary

I am not a recruiter。 I am a software engineer。 And as such, I know what it's like to be asked to whip up brilliant algorithms on the spot and then write flawless code on a whiteboard。 I've been through this as a candidate and as an interviewer。

Cracking the Coding Interview, 6th Edition is here to help you through this process, teaching you what you need to know and enabling you to perform at your very best。 I've coached and interviewed hundreds of software engineers。 The result is this book。

Learn how to uncover the hints and hidden details in a question, discover how to break down a problem into manageable chunks, develop techniques to unstick yourself when stuck, learn (or re-learn) core computer science concepts, and practice on 189 interview questions and solutions。

These interview questions are real; they are not pulled out of computer science textbooks。 They reflect what's truly being asked at the top companies, so that you can be as prepared as possible。 WHAT'S INSIDE?
• 189 programming interview questions, ranging from the basics to the trickiest algorithm problems。
• A walk-through of how to derive each solution, so that you can learn how to get there yourself。
• Hints on how to solve each of the 189 questions, just like what you would get in a real interview。
• Five proven strategies to tackle algorithm questions, so that you can solve questions you haven't seen。
• Extensive coverage of essential topics, such as big O time, data structures, and core algorithms。
• A behind the scenes look at how top companies like Google and Facebook hire developers。
• Techniques to prepare for and ace the soft side of the interview: behavioral questions。
• For interviewers and companies: details on what makes a good interview question and hiring process。

Download

Reviews

Sushant Sharma

An excellent book for preparing for coding/programming interviews。 The author has been an insider at many top companies like Yahoo, Apple, Google and Microsoft。 She has been on the interview panel of these companies。 I have worked in Yahoo and the details that she shares about the interview process of Yahoo, are very accurate! She is a very meticulous writer, you may follow her on Quora as well。 The book was one of its kind and pioneer in this area of books for preparing for programming intervie An excellent book for preparing for coding/programming interviews。 The author has been an insider at many top companies like Yahoo, Apple, Google and Microsoft。 She has been on the interview panel of these companies。 I have worked in Yahoo and the details that she shares about the interview process of Yahoo, are very accurate! She is a very meticulous writer, you may follow her on Quora as well。 The book was one of its kind and pioneer in this area of books for preparing for programming interviews。 Later, many other books also came up on the same lines as this one。 Hackerrank website has a full complete section presenting all the programming puzzles given in this book。 That website can be used along with this book to actually solve the problems and practice with added advantage of availability of exhaustive number of tests cases to vet your solution to the puzzles。An awesome good quality book that serves its purpose very well! 。。。more

Christina

Really enjoy this book。 each time I get bored or want to keep tweaking and improving my problem solving skills, this book is what I turn to。 There are questions within the book as well that can couple well with leetcode or hackerrank。 Definitely recommend for software engineers whether you are full stack, back-end or front end developers。

James Biskey

What more can be said about the bible for big tech interviewing? You must get this book。

Bria

I worked through/read (really, more and more just read as I just couldn't bear it anymore) this book in preparation for interviewing, so I cannot rate or review it because the whole process is too godawful and painful to think about fairly。 I worked through/read (really, more and more just read as I just couldn't bear it anymore) this book in preparation for interviewing, so I cannot rate or review it because the whole process is too godawful and painful to think about fairly。 。。。more

dcrystalj

much better than expected。

Andrzej Biernacki

This book is not only great preparation kit for technical interviews。 It's also a great This book is not only great preparation kit for technical interviews。 It's also a great 。。。more

Roman

This book has some decent information about how to walk through problems, think about Big O time complexity, and prepare for interviews from months out, weeks out, and days out。 However, I think that LeetCode has better problems and a better environment to practice in。 My recommendation would be to read the beginning chapters first, and then switch to LeetCode when you're ready to start doing problems。 This book has some decent information about how to walk through problems, think about Big O time complexity, and prepare for interviews from months out, weeks out, and days out。 However, I think that LeetCode has better problems and a better environment to practice in。 My recommendation would be to read the beginning chapters first, and then switch to LeetCode when you're ready to start doing problems。 。。。more

Murtaza Hasan

If you're a software developer, this will be the most important purchase you can make。Make sure to go through the youtube videos which give you tips and tricks how to approach it。 You do not have to go cover to cover。My approach: select chapters by priority, then either do only odd or even problems, move to the next chapter in the listMark the problems which you couldn't do the first time and then on the second iterations do the other odd, even set with these marked problem。Also most importantly If you're a software developer, this will be the most important purchase you can make。Make sure to go through the youtube videos which give you tips and tricks how to approach it。 You do not have to go cover to cover。My approach: select chapters by priority, then either do only odd or even problems, move to the next chapter in the listMark the problems which you couldn't do the first time and then on the second iterations do the other odd, even set with these marked problem。Also most importantly grab a pen and give half an hour to each problem even if you have no clue how to solve it。 Do not jump to the solution page if you want develop algorithmic thinking。I am way more confident in the interviews where I can now start building solutions from the ground up。 Don't get me wrong this ain't a magic pill where once you do this book, you will become an expert but it's excellent start and it can make you a good algorithmic thinker。 To be an excellent one is a long long journey so keep practicing and you're going to crack that interview。Good luck! 。。。more

Ane

Very long and thorough book to learn about data structures and algorithms。 The last chapters were a bit weak in my opinion, but very good overall impression。

Tianyao Chen

A necessary evil for getting into big techs。。。

Islomjon

Even though "Cracking the Coding Interview" looks voluminous, it is read fast due to more than 50% of pages are devoted to solutions。 Author tries to generalize the interview process of a developer, although there are several companies and so various processes to hire a programmer。 Her advice is realistic and logical; discussed technical topics are indeed relevant (and hard to implement in interview)。 She summarized almost all subjects that computer scientist studies as an undergraduate such as Even though "Cracking the Coding Interview" looks voluminous, it is read fast due to more than 50% of pages are devoted to solutions。 Author tries to generalize the interview process of a developer, although there are several companies and so various processes to hire a programmer。 Her advice is realistic and logical; discussed technical topics are indeed relevant (and hard to implement in interview)。 She summarized almost all subjects that computer scientist studies as an undergraduate such as Algorithms, Data Structures and Database。 Moreover, the book could be used as a guideline to prepare yourself to an interview or to test yourself in solving some questions and check their solutions。 As a software engineer student, I highly recommend to read this book at least one year before graduation and solve exercises and understand main logic。 。。。more

Aksel Nooitgedagt

Interesting to see how big companies make IT recruitment。 I was actually looking for some tips for recruiters and this book is written for candidates that are preparing themselves for an interview, so I found some small inspirations for our recruitment process, but not so many。FYI, I did not read the Questions and Solutions, but only the first part of the book。

Pedro Rojas

It's the base to apply to any FAANG company + Any other important company around the world。 It's a must if you want to succeed in your process。 It's the base to apply to any FAANG company + Any other important company around the world。 It's a must if you want to succeed in your process。 。。。more

David Truong

I've been a software engineer for several years and this book tells you all you need if you'd like to be better at interviewing。 Keep in mind I said interviewing and not programming。 Interviewing is a separate, learned skill set that is needed if you want to get a job regardless of profession。It doesn't matter if you agree or disagree with the language choice used in the book。 Understanding the key concepts and thinking process extends to all programming languages。It doesn't matter if you agree I've been a software engineer for several years and this book tells you all you need if you'd like to be better at interviewing。 Keep in mind I said interviewing and not programming。 Interviewing is a separate, learned skill set that is needed if you want to get a job regardless of profession。It doesn't matter if you agree or disagree with the language choice used in the book。 Understanding the key concepts and thinking process extends to all programming languages。It doesn't matter if you agree or disagree with the way software engineering interviews are conducted now with these kinds of programming questions。 Either you study up and get a good job or complain and get no where。This book gives you background on how software engineering interviews are conducted at most software companies in big tech hubs。 This book gives you questions and answers on common programming questions asked during interviews。 This book goes in depth about how to communicate and explain your reasoning and analysis of your solution。Get this book if you want to be a software engineer, it'll help you immensely。 。。。more

David

Very useful but boring ( :

Manuel Mejia Jr

Every developer has been through the process of an interview to get a new job and as we know sometimes it could be a difficult time。 Because of that, it would be a great help, some advice from someone with more experience。 Gayle L。 McDowell will give you some tips on how you have to prepare for that interview, the material you should study, the dress code you have to wear, etc。。。 Also, she gives you 189 programming interview questions to practice。 Her experiences of interviewing come from big te Every developer has been through the process of an interview to get a new job and as we know sometimes it could be a difficult time。 Because of that, it would be a great help, some advice from someone with more experience。 Gayle L。 McDowell will give you some tips on how you have to prepare for that interview, the material you should study, the dress code you have to wear, etc。。。 Also, she gives you 189 programming interview questions to practice。 Her experiences of interviewing come from big tech companies such as Google and Apple。 。。。more

Urmit Patel

Gayle Laakmann McDowell should be the first woman president of the United States。

أمنية زكريا

Will always comeback to this one。 A great and fun read。

Yura Gavrilovich

Great book for preparing for the coding interview。 Explains how a typical interview goes in big corporations like Google, Amazon, etc。 Gives you concrete steps to prepare yourself for all interview stages。 And the most important part, which takes ~70% of the book, problems with detailed solutions。 Prepare to spend most of your time not reading the book, but solving problems。

David Dvali

I can not say it is a bad book。 But I think, long analysis of solutions makes solution harder (when it is not), which is in this case。 Sometimes I was writing solution by myself and understanding how it works, but looking solution in the book and needed time to figure out what it was saying。 It is my position。 Someone may find it really helpful this solutions。 But also in many cases my written code was better (readable) than in the book。 My suggestion is do not read this book in one go。 It is to I can not say it is a bad book。 But I think, long analysis of solutions makes solution harder (when it is not), which is in this case。 Sometimes I was writing solution by myself and understanding how it works, but looking solution in the book and needed time to figure out what it was saying。 It is my position。 Someone may find it really helpful this solutions。 But also in many cases my written code was better (readable) than in the book。 My suggestion is do not read this book in one go。 It is too much 。。。more

Dan Perkins

You have to speak the language of coding interviews in order to get software engineering jobs。 Even though there may not be a connection, this book is extremely helpful in preparing and formalizing your knowledge。 My undergrad experience and internships were completely different than the process, and this is the book that helped me perfect my coding interview skills。 Although that harsh lime green cover brings back some painful memories, you eventually have to buckle down somehow, and this is th You have to speak the language of coding interviews in order to get software engineering jobs。 Even though there may not be a connection, this book is extremely helpful in preparing and formalizing your knowledge。 My undergrad experience and internships were completely different than the process, and this is the book that helped me perfect my coding interview skills。 Although that harsh lime green cover brings back some painful memories, you eventually have to buckle down somehow, and this is the best resource to do it。 The true irony is that I did not enjoy the experience of the book but rather the results。 。。。more

Jrabelo

Pros - Nice book, has some overview on both technical and behavioral questions and ideas on how to succeed on an interviewCons - It talks about a lot of things but in a very superficial way, but anyway a good intro to algorithms, data structures and behavioral questions

Eric

I'd recommend Elements of Programming Interviews over this book, but this covers the basics。 I'd recommend Elements of Programming Interviews over this book, but this covers the basics。 。。。more

Vitaliy Zasadnyy

One of the best books to prepare to the technical interview。 It covers everything starting from questions on your previous experience and finishing hardcore algorithms。If you have 3+ month before your first tech interview - this book is probably your best bet。And it works, thanks to it (and bunch of others) I managed to get offers from Facebook and Google。

Ory

Great book, tackling all the important categories of programming questions you might encounter in interviews, specifically for the big tech companies。 It also has dedicated chapters about non-technical subjects such as behavioral interviews, negotiations, a little bit about how to lay out your career path, etc。NOTE that while this book is great, I still think the best resource to prepare for interviews is via online interactive courses, most specifically educative。io 。 Still, this book is valuab Great book, tackling all the important categories of programming questions you might encounter in interviews, specifically for the big tech companies。 It also has dedicated chapters about non-technical subjects such as behavioral interviews, negotiations, a little bit about how to lay out your career path, etc。NOTE that while this book is great, I still think the best resource to prepare for interviews is via online interactive courses, most specifically educative。io 。 Still, this book is valuable, if just for the non-technical subjects。Also, a shame there is no ebook / Kindle edition available, only PDF and hard copy。 。。。more

Kristen Barringer

It helps to know Java before reading this book。 While you can download all the solutions in other languages like Python, there are many examples in Java which are not in the other language downloads。 So I recommend having a basic understanding of Java before starting this book。

Diane

This is。。。a lot。 Not that that's a problem with this book; it's a problem with how we interview programmers! This is。。。a lot。 Not that that's a problem with this book; it's a problem with how we interview programmers! 。。。more

Aleks

Useful。 Covers not just coding but interviews and other aspects。 Examples are in Java which has some data structure which other languages don’t eg HashMap

Matt

This book is known as the Bible for coding job seekers, and for good reason。 It contains a huge amount of good information on everything from how to contact recruiters and prepare for interviews, to how to accept offers, to (the bulk of the book) many problems on basic coding concepts。The concepts in this book are presented in a very straightforward way, quickly and with no bullshit。 For every one page of explanation there are ten problems for you to figure out for yourself, with hints and detai This book is known as the Bible for coding job seekers, and for good reason。 It contains a huge amount of good information on everything from how to contact recruiters and prepare for interviews, to how to accept offers, to (the bulk of the book) many problems on basic coding concepts。The concepts in this book are presented in a very straightforward way, quickly and with no bullshit。 For every one page of explanation there are ten problems for you to figure out for yourself, with hints and detailed solutions in the back of the book。 As someone with no formal computer science background, I found this book to be a quick read and very instructive。 After reading it, I started implementing many of the things I learned into my own code。 The problems chosen are also very interesting, and some of them have pretty cool solutions。 All the problems in the book are illuminating and tricky in some way, but also simple and basic enough that you can solve them in your head without the use of paper or a computer。 This makes it possible to solve problems while commuting to work, so it's very convenient to fit this book into your current routine。 (Of course, you should implement some solutions from each chapter on a computer as well, to make sure you can carry over theory to practice!)Overall, I would say this book is a very useful and easy read, especially if you have no computer science background。 The problems are interesting but not difficult, and they will teach you new ways to approach your own code, so it's good preparation to run through before starting job interviews。 。。。more